Automatic Unbounded Verification of Alloy Specifications with Prover9
نویسندگان
چکیده
Alloy is an increasingly popular lightweight specification language based on relational logic. Alloy models can be automatically verified within a bounded scope using off-the-shelf SAT solvers. Since false assertions can usually be disproved using small counterexamples , this approach suffices for most applications. Unfortunately, it can sometimes lead to a false sense of security, and in critical applications a more traditional unbounded proof may be required. The automatic theorem prover Prover9 has been shown to be particularly effective for proving theorems of relation algebras [7], a quantifier-free (or point-free) axiomatization of a fragment of relational logic. In this paper we propose a translation from Alloy specifications to fork algebras (an extension of relation algebras with the same expressive power as relational logic) which enables their unbounded verification in Prover9. This translation covers not only logic assertions, but also the structural aspects (namely type declarations), and was successfully implemented and applied to several examples.
منابع مشابه
Specifying UML Protocol State Machines in Alloy
A UML Protocol State Machine (PSM) is a behavioral diagram for the specification of the external behavior of a class, interface or component. PSMs have been used in the software development process for different purposes, such as requirements analysis and testing. However, like other UML diagrams, they are often difficult to validate and verify, specially when combined with other artifacts, suc...
متن کاملDynamite: Alloy Analyzer+PVS in the Analysis and Verification of Alloy Specifications
This article contains two main contributions. On the theoretical side, it presents a novel complete calculus for Alloy. On the applied side we present DYNAMITE, a tool that combines the semi-automatic theorem prover PVS with the Alloy Analyzer. DYNAMITE allows one to prove Alloy assertion from Alloy specifications, while using the Alloy Analyzer for the automated analysis of hypotheses introduc...
متن کاملA Proof Assistant for Alloy Specifications
Alloy is a specification language based on a relational firstorder logic with built-in operators for transitive closure, set cardinality, and integer arithmetic. The Alloy Analyzer checks Alloy specifications automatically with respect to bounded domains. Thus, while suitable for finding counterexamples, it cannot, in general, provide correctness proofs. This paper presents Kelloy, a tool for v...
متن کاملScalable Verification of Model Transformations
Model transformations are crucial in model driven engineering (MDE). Automatic execution of model transformations improves software development productivity. However, model transformations should be verified to ensure that the models produced or the transformations satisfy some expected properties. In a previous work we presented a verification approach of graph-based model transformation syste...
متن کاملCombining B and Alloy
In this paper we propose to combine two software verification approaches, theorem proving and model checking. We focus on the B-method and a theorem proving tool associated with it, and the Alloy specification notation and its model checker “Alloy Constraint Analyser”. We consider how software development in B can be assisted using Alloy and how Alloy can be used for verifying refinement of abs...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1209.5773 شماره
صفحات -
تاریخ انتشار 2012